package com.ruoyi.system.mapper;

import java.util.Date;
import java.util.List;
import com.ruoyi.system.domain.InventoryLossReport;
import org.apache.ibatis.annotations.Param;

/**
 * 库存报损 Mapper接口
 *
 * @author ruoyi
 * @date 2025-06-01
 */
public interface InventoryLossReportMapper
{
    /**
     * 通过id查询库存报损
     *
     * @param id 库存报损主键
     * @return 库存报损
     */
    public InventoryLossReport selectInventoryLossReportById(Long id);

    /**
     * 通过报损单号，报损仓库名称,报损类型,报损开始时间和报损结束时间查询库存报损列表
     *
     * @param lossReportNumber,lossWarehouseName,lossType,lossStartTime,lossEndTime  报损单号,报损仓库名称,报损类型,报损开始时间，报损结束时间
     * @return 库存报损集合
     */
    public List<InventoryLossReport> selectInventoryLossReportListByConditions(@Param("lossReportNumber") String lossReportNumber,@Param("lossWarehouseName") String lossWarehouseName,@Param("lossType") String lossType,@Param("lossStartTime") Date lossStartTime,@Param("lossEndTime") Date lossEndTime,@Param("lossEmployee") String lossEmployee);

    /**
     * 新增库存报损
     *
     * @param inventoryLossReport 库存报损
     * @return 结果
     */
    public int insertInventoryLossReport(InventoryLossReport inventoryLossReport);

    /**
     * 修改库存报损
     *
     * @param inventoryLossReport 库存报损
     * @return 结果
     */
    public int updateInventoryLossReport(InventoryLossReport inventoryLossReport);

    /**
     * 通过id删除库存报损信息
     *
     * @param id 库存报损主键
     * @return 结果
     */
    public int deleteInventoryLossReportById(Long id);

    /**
     * 通过id批量删除库存报损信息
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteInventoryLossReportByIds(Long[] ids);
}
